import Vue from 'vue';
import App from './App';

Vue.config.productionTip = false;

App.mpType = 'app';

// 引入全局uView
import uView from 'uview-ui';
Vue.use(uView);

// 此处为演示vuex使用，非uView的功能部分
import store from '@/store';

// 引入uView提供的对vuex的简写法文件
let vuexStore = require('@/store/$u.mixin.js');
Vue.mixin(vuexStore);

// 引入全局分享
// let mpShare = require('uview-ui/libs/mixin/mpShare.js');
// Vue.mixin(mpShare)


// 公共方法
import {login, checkLogin, viewMapFn, phoneFn,payFn, getQueryObject, copyStr, updataManager } from './common/util.js';
Vue.prototype.$login = login;
Vue.prototype.$viewMapFn = viewMapFn;
Vue.prototype.$phoneFn = phoneFn;
Vue.prototype.$payFn = payFn;
Vue.prototype.$getQueryObject = getQueryObject;
Vue.prototype.$copyStr = copyStr;
Vue.prototype.$updataManager = updataManager;


//全局过滤器文件
import * as custom  from './common/filter.js'
Object.keys(custom).forEach(key => {
  Vue.filter(key, custom[key])
})






const app = new Vue({
	store,
	...App
});

// http拦截器，将此部分放在new Vue()和app.$mount()之间，才能App.vue中正常使用
import httpInterceptor from '@/common/http.interceptor.js';
Vue.use(httpInterceptor, app);

// http接口API抽离，免于写url或者一些固定的参数
import httpApi from '@/common/http.api.js';
Vue.use(httpApi, app);

app.$mount();
